package br.com.eduquiz.entity;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

@Entity
public class Questao implements Serializable {
	
	private static final long serialVersionUID = 3455610165523788632L;
	
	public enum TipoQuestao { VerdadeiroFalso, Objetiva} 

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;
	
	private String questao;
	
	private Long acertos = Long.valueOf(0);
	
	private Long erros = Long.valueOf(0);
	
	@Enumerated(EnumType.STRING)
	private TipoQuestao tipoQuestao;
	
	@ManyToOne
	@JoinColumn(name="questionario_id")
	private Questionario questionario;
	
	@OneToMany(mappedBy="questao")
	private List<Resposta> resposta;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getQuestao() {
		return questao;
	}

	public void setQuestao(String questao) {
		this.questao = questao;
	}

	public Long getAcertos() {
		return acertos;
	}

	public void setAcertos(Long acertos) {
		this.acertos = acertos;
	}

	public Long getErros() {
		return erros;
	}

	public void setErros(Long erros) {
		this.erros = erros;
	}

	public TipoQuestao getTipoQuestao() {
		return tipoQuestao;
	}

	public void setTipoQuestao(TipoQuestao tipoQuestao) {
		this.tipoQuestao = tipoQuestao;
	}

	public Questionario getQuestionario() {
		return questionario;
	}

	public void setQuestionario(Questionario questionario) {
		this.questionario = questionario;
	}

	public List<Resposta> getResposta() {
		return resposta;
	}

	public void setResposta(List<Resposta> resposta) {
		this.resposta = resposta;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}
}
